hysop.operator.directional.advection_dir module¶
@file advection_dir.py Directional advection frontends (operator generator).
- class hysop.operator.directional.advection_dir.DirectionalAdvection(velocity, advected_fields, variables, dt, advected_fields_out=None, relative_velocity=None, implementation=None, base_kwds=None, **kwds)[source]¶
Bases:
DirectionalOperatorFrontend
Interface for particle advection and remeshing method of a list of fields in a given direction.
Initialize a DirectionalAdvectionFrontend.
- Parameters:
velocity (Field) – continuous velocity field (all components)
advected_fields (Field or array like of Fields) – instance or list of continuous fields to be advected.
advected_fields_out (Field or array like of Field, optional, defaults to None) – advection output, if set to None, advection is done inplace on a per variable basis.
relative_velocity (array_like of constants representing relative velocity, optional) – Relative velocity that has to be taken into account. Vi = Ui - Urel[i] for each components.
variables (dict) – Dictionary of continuous fields as keys and topologies as values.
dt (ScalarParameter) – Timestep parameter that will be used for time integration.
implementation (implementation, optional, defaults to None) – target implementation, should be contained in available_implementations(). If None, implementation will be set to default_implementation().
base_kwds (dict, optional, defaults to None) – Base class keywords arguments. If None, an empty dict will be passed.
kwds – Extra parameters passed to generated directional operators.
Notes
- An implementation should at least support the following __init__ parameters:
velocity, advected_fields, advected_fields_out, variables direction, splitting_dim
Extra keywords parameters are passed through kwds.